Workloads consist of computer-executable entities to which the assignment of hardware and software computing resources can be controlled. It is usual to consider workloads as executing in resource containers/compartments/partitions to which computing resources may be allocated and assigned. Of particular interest here are containers that are subdivisions of an operating system instance. That is, each such container contains a workload that in turn consists of one or more processes executing within that operating system. The operating system that provides the facility to construct said containers also provides means by which executing processes may be assigned to one of said containers and by which the assignment of resources to said containers may be controlled.
Workload management software functions by monitoring operating parameters (e.g., resource utilization of various resource types such as processors, memory, I/O and communication channels, software, etc) of workloads, predicting the resources required to maintain these operating parameters of each workload near user-specified targets, and allocating and assigning resources to workloads based on these predictions and other resource management parameters. Some of these other resource management parameters (e.g., the minimum and maximum resource levels that a partition can support) are hardware or software related, while others (e.g., minimum, maximum, and owned) are specified by the user.
Workload management software strives to provide more effective use of computing resources and thus reduce computer system costs, through automated management. Workloads with different operating characteristics, e.g. different patterns and levels of resource demand, must be managed in different ways in order to accomplish this. For example, “batch” workloads versus “interactive” or “transactional” workloads pose special problems for workload management.
Batch workloads typically consist of a process or processes with high and relatively constant demand for computing resources for an extended period of time. In contrast, interactive or transactional workloads have processes with lower but highly variable demand with short periods of activity in response to user input interspersed with little or no use of resources while awaiting further input. Interactive and batch workloads are frequently mixed in the same operating system instance. When this occurs the demands of batch workloads can starve interactive/transactional workloads of resources, thus severely degrading responsiveness to users served by the interactive workloads.
One prior-art solution provides for manually differentiating and manipulating processes to achieve effective resource use. For example, versions of the UNIX operating system provide a “nice” command through which certain processes may be manually designated to receive lower priority access to processing resources. Automated workload management systems may provide a manual means for users to designate particular processes for specific management treatment. The gWLM (“global WorkLoad Manager”) product available from Hewlett-Packard Company, for example, provides a method through which any process within an operating system instance may be assigned to any specific workload for which the user will have previously specified resource management parameters. The user may either have special knowledge that certain processes require special treatment, may detect processes requiring such treatment by monitoring process activity, or, most likely, be responding to a detected exception condition or problem report. However, this approach imposes a considerable burden on the user, especially for large-scale systems running multiple operating systems, each with multiple processes.
Another solution to this problem requires workload management software users to provide some a priori static identifying information, e.g., the name of an executable program and/or of the user account under whose auspices a program is executed, through which different processes can be classified and assigned to different workloads. For example, in a method supported by gWLM (“global WorkLoad Manager”) and WLM (“WorkLoad Manager”) products available from Hewlett-Packard Company, workloads can be created and associated with descriptions of process identifiers such as the names of user accounts under which the processes are executed, or the names of the executable image that is being executed by the process. These descriptions are then matched with the corresponding characteristics of actual executing processes by the workload management software. Processes matching the same set of specified characteristics are assigned to the same associated workload (and to the workload's resource container) and thus managed as an entity by the workload management software using the resource management parameters previously specified by the user.
Herein, related art is described to facilitate understanding of the invention. Related art labeled “prior art” is admitted prior art; related art not labeled “prior art” is not admitted prior art.
The figures depict implementations/embodiments of the invention and not the invention itself. In the figures, “use” is an abbreviated form of “utilization”.